Conventional computer networks are bi-directional, allowing data communication in both directions between the servers and the clients. Transmitting data over these bidirectional data networks has been a mainstay of computer technology for many years and the communication protocols are well-established.
In large networks used to interconnect many servers to many clients, one of the common problems that arises concerns optimal utilization of bandwidth. "Bandwidth" is the amount of data that can be moved through a particular network segment at any one time. The network bandwidth varies according to the technologies used to implement the network, the amount of communication traffic at any one time, the number of clients and servers attached to the network, and other factors. In some networks, the maximum available bandwidth might be approximately homogenous across the entire network. An example of this might be a local area network (LAN) utilized by a small firm or company. In other networks, the maximum available bandwidth might vary broadly. The Internet, for example, is a conglomerate of different networks, with each network having its own associated bandwidth.
Distribution over the data network is usually constrained by the segment with the lowest available bandwidth. Different paths established through the network between a server and client might result in different bandwidth capacities. The fluctuating amount of data traffic also affects the amount of useable bandwidth that is available at any one time on the network. Accordingly, protocols are established to ensure proper delivery of data over the network.
Some forms of bi-directional data networks, such as an Ethernet network, have no explicit method for regulating bandwidth. In such networks, a server sends out a fixed amount of data, typically in a fixed-size data packet, over the network to a client. The client sends back a receipt acknowledgment to inform the server that the data was received. The server's bandwidth is automatically regulated by the receipt acknowledgments from the client. This method of bandwidth regulation has been used for years and is very well known.
Newer types of data networks, such as an ATM (Asynchronous Transfer Mode) network, can limit access to the network bandwidth. Protocols are being developed which allow the client to reserve bandwidth between itself and the server at the time the communication channel is being established to guarantee the availability of adequate bandwidth for data transmission. One example protocol is known as "RSVP," and is explained in an article by Lixia Zhang, Steve Deering, Deborah Estrin, Scott Shenker, and David Zappala, entitled "RSVP: A New Resource ReSerVation Protocol," published in IEEE Network magazine, September 1993. The general concept of client-initiated bandwidth reservation is well known.
Apart from the classic bi-directional data networks, there is an increasing interest in the use of broadcast networks to deliver computer data and other content to clients, akin to the broadcast delivery of television or radio. Broadcast networks are unidirectional in that data flows from the server to the clients, but no return communication is possible over the same communication path. As a result, the common protocols used for two-way communication over a bi-directional networks, such as receipt acknowledgments and RSVP messages, cannot be supported by the broadcast network because the clients are unable to communicate back over the broadcast communication link to the server.
The inventor has developed a system and method which address this problem.